NAND Flash memory, as well as other types of non-volatile memories, are commonly used in electronic devices for mass storage. For example, portable media players often include Flash memory to store music, videos, and other media.
In order to decrease the size of these electronic devices while maintaining or increasing memory capacities, Flash and other types of memory cells are continually being scaled down and becoming more densely packed. This can cause program-disturb and other problems that reduce reliability in writing to and reading from the non-volatile memory. In particular, during programming of one or more pages (e.g., the unit of data that can be written to the non-volatile memory at one time), if the data bits being stored in the memory cells are nearly all the same value (e.g., nearly all ones or all zeros), the programming voltages applied to these memory cells can have a strong electric field effect on nearby memory cells. This can cause the affected memory cells to be incorrectly or partially programmed, which may increase the likelihood that the data will be incorrectly interpreted during a subsequent read operation.